團隊在初期歷經打掉重練後,經過一段時間的不斷練習與調整,團隊猶如脫胎換骨,初次體驗可以準時交付衝刺目標,有一個非常大的關鍵點,就是「團隊協力切出好故事,寫出好故事」。
江湖上有句話是這樣說:「好的開始是成功的一半」
敏捷里有句話是這樣說:「好的故事是成功衝刺的一半」
團隊接到一個史詩(Epic)的需求,如何從Epic(大故事)切成Featrue(中故事)、User Story(小故事),並且將大小適中的User Story根據重要性、優先序排入Sprint Backlog,這是團隊很大的學習課題,以下是我們切故事的作業程序。
SA與PO開會討論,雙方對齊Epic的需求範圍與使用者情境,一起在會議當下切出Featrue(中故事),並立即根據這些故事的重要性與價值,決定Featrue的執行優先序,以便知道這些故事何時要排入Sprint Backlog。
選擇一個即將排入下一個衝刺的Featrue,將功能故事初次進行更進階的需求分析,且考慮每個故事是可以獨立在一個衝刺下完成的前提下,自行切出User Stroy,且清楚知道每個故事的情境與驗收準則。
SA與資深開發者進行會議討論,雙方對齊下一個衝刺目標要開發哪些User Stroy,偕同開發者思考這樣的故事切法是否合適,若故事大到無法在一個衝刺完成,則會在細切;若故事太小,則會合併其他故事一起進行,以免造成開發工時太過於破碎。
全體團隊在衝刺會議中,針對每一個故事進行說明與細部討論需求規格,所有工程師將會根據故事進行系統設計,若會議中有非預期的開發瓶頸或項目時,立即在會議中討論增修故事或調整故事內容。
團隊與產品負責人在團隊會議中將Epic切成小故事,再到詳細需求分析和系統設計,透過這種分解和細化的過程有助於確保團隊理解並能夠有效地處理每個故事。
切故事過程中涵蓋全團隊的參與,包括PO(產品負責人)、SA(系統分析師)和開發人員,以確保故事的細化和切分是合適的,並且透過會議進行不斷調整和反饋。
在敏捷開發中,適當的需求分解和故事切分是成功的關鍵,並且需要全團隊的積極參與和協作,以確保產品能夠按時交付並滿足用戶需求。
一個好的 User Story 應該包含以下內容,以確保它清晰、可執行且易於理解:
總之,一個好的 User Story 應該清晰、具體、可測試,並包含足夠的信息,以使團隊能夠理解、估算和成功實現這個需求。透過良好的 User Story,可以確保需求明確,減少誤解,並有助於高品質的軟體交付。